package projeto;

import java.io.*;
import java.util.*;

public class LerArquivo {
	private Formatter output;
	
	public LerArquivo(){
		
	}
	/**
	 * metodo que ler o arquivo
	 * @param arquivo
	 * @throws FileNotFoundException
	 */
	public void lerArquivo(String arquivo) throws FileNotFoundException{
		 try {
		        BufferedReader in = new BufferedReader(new FileReader(arquivo));
		            String str;
		            while (in.ready()) {
		                str = in.readLine();
		                System.out.println(str);
		            }
		            in.close();
		    } catch (IOException e) {
		    }catch(SecurityException securityException){
				System.err.println(" sem acesso a este arquivo");
				System.exit(1);
			}
			
	}
	/**
	 * metodo que escreve no arquivo
	 * @param arquivo
	 * @throws IOException
	 */
	public void escreverArquivo(String arquivo) throws IOException{
		try{
			FileWriter escrevendoArquivo = new FileWriter(arquivo, true);
			BufferedWriter bw = new BufferedWriter(escrevendoArquivo);  
			Scanner entrada = new Scanner(System.in);
			String b1;
			b1 = entrada.nextLine();
			bw.newLine();
			bw.write(b1);
			bw.close();
			
			
		}catch(FormatterClosedException fileFormatterClosedException){
			System.err.println(" error escrevendo no arquivo");
						
		}catch(SecurityException securityException){
			System.err.println(" sem acesso a este arquivo");
			System.exit(1);
		}catch(FileNotFoundException filesNotFoundException){
			System.err.println("Error na criacao do arquivo");
			System.exit(1);
		}
	}
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((output == null) ? 0 : output.hashCode());
		return result;
	}
	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		LerArquivo other = (LerArquivo) obj;
		if (output == null) {
			if (other.output != null)
				return false;
		} else if (!output.equals(other.output))
			return false;
		return true;
	}
	/**
	 * metodo que fecha o arquivo
	 */
	public void closeFile(){
		if (output != null){
			output.close();
		}
	}
	public static void main(String[] args) throws IOException {
		
		LerArquivo arq = new LerArquivo();
		arq.lerArquivo("Contato.txt");
		arq.closeFile();
		arq.escreverArquivo("Contato.txt");
		arq.closeFile();
		arq.lerArquivo("Contato.txt");
		arq.closeFile();
	}


}
